var RankQQDlg = (function(){
    function RankQQDlg(content,guideType,close_handler) {
        RankQQDlg.super(this);
        this.rankData = [];
        this.rankList.itemRender = Rankitem;
        this.rankList.repeatX = 1;
		this.rankList.repeatY = 6;
        // 使用但隐藏滚动条
		this.rankList.vScrollBarSkin = "";
        this.rankList.selectEnable = true;
		this.rankList.selectHandler = this.onSelect;
		this.rankList.renderHandler = new Laya.Handler(this, this.updateItem);
        this.back.on(Laya.Event.MOUSE_DOWN, this, this.closeDlg);
        this.initRankData()
        this.rankList.array = this.rankData;
    }

    Laya.class(RankQQDlg, 'ui.rankqq', RankqqUI);
    RankQQDlg.prototype.initRankData = function(){
        var that = this;
        // 当前不支持一次同时拉取多个排行榜，需要拉取多次，而且必须等上一个拉取回来后才能拉取另外一个排行榜
        // 先拉 score 排行榜
        var attr = "score";//使用哪一种上报数据做排行，可传入score，a1，a2等
        var order = 1;     //排序的方法：[ 1: 从大到小(单局)，2: 从小到大(单局)，3: 由大到小(累积)]
        var rankType = 0; //要查询的排行榜类型，0: 好友排行榜，1: 群排行榜，2: 讨论组排行榜，3: C2C二人转 (手Q 7.6.0以上支持)
        // 必须配置好周期规则后，才能使用数据上报和排行榜功能
        BK.QQ.getRankListWithoutRoom(attr, order, rankType, function(errCode, cmd, data) {
            Tool.log("getRankListWithoutRoom callback  cmd" + cmd + " errCode:" + errCode + "  data:" + JSON.stringify(data));
            // 返回错误码信息
            if (errCode !== 0) {
                Tool.log('获取排行榜数据失败!错误码：' + errCode);
                return;
            }
            // 解析数据
            if (data) {
                for(var i=0; i < data.data.ranking_list.length; ++i) {
                    var rd = data.data.ranking_list[i];
                    var item = {
                        icon : rd.url,
                        nick : rd.nick,
                        score : rd.score,
                    }
                    that.rankData.push(item)
                    if(rd.selfFlag){
                        that.myIcon.skin = rd.url;
                        that.myNick.text = rd.nick;
                        that.myScore.text = rd.score;
                    }
                }
                that.rankList.array = that.rankData;
            }
        });
    }

    RankQQDlg.prototype.updateItem = function(cell, index){
		cell.setItem(cell.dataSource);
	}

	RankQQDlg.prototype.onSelect = function(index){
		
	}
    RankQQDlg.prototype.showDlgAndMask = function(){
        this.popup(false);
    };
    RankQQDlg.prototype.closeDlg = function(){
        this.close()
    }
    return RankQQDlg;
})();